/*
 * DSEMManager.cpp
 *
 *  Created on: Dec 24, 2013
 *      Author: m
 */

#include "DSEMManager.h"

MessageQueue<PedidoCreacionDSEM> DSEMManager::s_colaPedidosCreacion =
        MessageQueue<PedidoCreacionDSEM>::get( DSEM_IPC_BASEFILE, RESOURCE_CREATION_QUEUE );

void DSEMManager::createSignaler( std::string baseFile, char key, std::string semName )
{
    PedidoCreacionDSEM pedido;
    pedido.tipo = PedidoCreacionDSEM::SIGNALER;
    strcpy( pedido.basefile, baseFile.c_str() );
    pedido.key = key;
    semName += ".dsem";
    strcpy( pedido.semName, semName.c_str() );

    s_colaPedidosCreacion.put( 1, pedido );
}

void DSEMManager::createWaiter( std::string baseFile, char key, std::string semName )
{
    PedidoCreacionDSEM pedido;
    pedido.tipo = PedidoCreacionDSEM::WAITER;
    strcpy( pedido.basefile, baseFile.c_str() );
    pedido.key = key;
    semName += ".dsem";
    strcpy( pedido.semName, semName.c_str() );

    s_colaPedidosCreacion.put( 1, pedido );
}
